Write a brief description of all the following Object Types and Data Structures we've learned about:
Numbers:
Strings:
Lists:
Tuples:
Dictionaries:
In [ ]:
    
    
Explain what the cell below will produce and why. Can you change it so the answer is correct?
In [ ]:
    
2/3
    
Answer these 3 questions without typing code. Then type code to check your answer.
What is the value of the expression 4 * (6 + 5)
What is the value of the expression 4 * 6 + 5 
What is the value of the expression 4 + 6 * 5 
In [ ]:
    
    
What is the type of the result of the expression 3 + 1.5 + 4?
What would you use to find a number’s square root, as well as its square?
In [ ]:
    
    
Given the string 'hello' give an index command that returns 'e'. Use the code below:
In [ ]:
    
s = 'hello'
# Print out 'e' using indexing
# Code here
    
Reverse the string 'hello' using indexing:
In [ ]:
    
s ='hello'
# Reverse the string using indexing
# Code here
    
Given the string hello, give two methods of producing the letter 'o' using indexing.
In [ ]:
    
s ='hello'
# Print out the
# Code here
    
Build this list [0,0,0] two separate ways.
In [ ]:
    
    
Reassign 'hello' in this nested list to say 'goodbye' item in this list:
In [14]:
    
l = [1,2,[3,4,'hello']]
    
Sort the list below:
In [15]:
    
l = [3,4,5,5,6]
    
Using keys and indexing, grab the 'hello' from the following dictionaries:
In [10]:
    
d = {'simple_key':'hello'}
# Grab 'hello'
    
In [12]:
    
d = {'k1':{'k2':'hello'}}
# Grab 'hello'
    
In [13]:
    
# Getting a little tricker
d = {'k1':[{'nest_key':['this is deep',['hello']]}]}
#Grab hello
    
In [ ]:
    
# This will be hard and annoying!
d = {'k1':[1,2,{'k2':['this is tricky',{'tough':[1,2,['hello']]}]}]}
    
Can you sort a dictionary? Why or why not?
What is the major difference between tuples and lists?
How do you create a tuple?
What is unique about a set?
Use a set to find the unique values of the list below:
In [ ]:
    
l = [1,2,2,33,4,4,11,22,3,3,2]
    
For the following quiz questions, we will get a preview of comparison operators:
| Operator | Description | Example | 
|---|---|---|
| == | If the values of two operands are equal, then the condition becomes true. | (a == b) is not true. | 
| != | If values of two operands are not equal, then condition becomes true. | |
| <> | If values of two operands are not equal, then condition becomes true. | (a <> b) is true. This is similar to != operator. | 
| > | If the value of left operand is greater than the value of right operand, then condition becomes true. | (a > b) is not true. | 
| < | If the value of left operand is less than the value of right operand, then condition becomes true. | (a < b) is true. | 
| >= | If the value of left operand is greater than or equal to the value of right operand, then condition becomes true. | (a >= b) is not true. | 
| <= | If the value of left operand is less than or equal to the value of right operand, then condition becomes true. | (a <= b) is true. | 
What will be the resulting Boolean of the following pieces of code (answer fist then check by typing it in!)
In [ ]:
    
# Answer before running cell
2 > 3
    
In [17]:
    
# Answer before running cell
3 <= 2
    
In [18]:
    
# Answer before running cell
3 == 2.0
    
In [ ]:
    
# Answer before running cell
3.0 == 3
    
In [ ]:
    
# Answer before running cell
4**0.5 != 2
    
Final Question: What is the boolean output of the cell block below?
In [ ]:
    
# two nested lists
l_one = [1,2,[3,4]]
l_two = [1,2,{'k1':4}]
#True or False?
l_one[2][0] >= l_two[2]['k1']